package com.stepcleanse.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.stepcleanse.common.core.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.stepcleanse.common.core.annotation.Excel;

/**
 * 洗涤订单对象 laundry_order
 * 
 * @author stepcleanse
 * @date 2024-12-09
 */
public class LaundryOrder extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 工厂订单号 */
    private String factoryOrderId;

    /** 工厂单生成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "工厂单生成时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date factoryOrderCreateTime;

    /** 订单号，关联售卖订单 */
    @Excel(name = "订单号，关联售卖订单")
    private String orderId;

    /** 用户手机号 */
    @Excel(name = "用户手机号")
    private String userPhone;

    /** 订单来源 */
    @Excel(name = "订单来源")
    private String orderSource;

    /** 服务工厂 */
    @Excel(name = "服务工厂")
    private String serviceFactory;

    /** 合约模 */
    @Excel(name = "合约模")
    private String contractMode;

    /** 预检照片 */
    @Excel(name = "预检照片")
    private String preInspectionPhoto;

    /** 质检照片 */
    @Excel(name = "质检照片")
    private String qualityInspectionPhoto;

    /** 水洗唛码，记录水洗唛标签的编码 */
    @Excel(name = "水洗唛码，记录水洗唛标签的编码")
    private String laundryTagCode;

    /** 取鞋快递号，记录取鞋时的快递单号 */
    @Excel(name = "取鞋快递号，记录取鞋时的快递单号")
    private String pickupExpressNumber;

    /** 送鞋快递号，记录送鞋时的快递单号 */
    @Excel(name = "送鞋快递号，记录送鞋时的快递单号")
    private String deliveryExpressNumber;

    /** 预约成功日期，用户预约的成功时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "预约成功日期，用户预约的成功时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date appointmentSuccessDate;

    /** 取件签收日期，快递员签收取鞋的日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "取件签收日期，快递员签收取鞋的日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date pickupSignDate;

    /** 寄件签收日期，用户签收送鞋的日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "寄件签收日期，用户签收送鞋的日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date deliverySignDate;

    /** 入库成功日期，洗涤物品入库的时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "入库成功日期，洗涤物品入库的时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date warehouseInSuccessDate;

    /** 水洗唛生成日期，水洗唛标签生成的时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "水洗唛生成日期，水洗唛标签生成的时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date laundryTagGenerateDate;

    /** 预检成功日期，预检完成的时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "预检成功日期，预检完成的时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date preInspectionSuccessDate;

    /** 质检成功日期，质检完成的时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "质检成功日期，质检完成的时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date qualityInspectionSuccessDate;

    /** 出库成功日期，物品从仓库出库的时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出库成功日期，物品从仓库出库的时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date warehouseOutSuccessDate;

    /** 洗鞋数，记录需要清洗的鞋子数量 */
    @Excel(name = "洗鞋数，记录需要清洗的鞋子数量")
    private Integer shoeCount;

    /** 洗衣数，记录需要清洗的衣物数量 */
    @Excel(name = "洗衣数，记录需要清洗的衣物数量")
    private Integer laundryCount;

    /** 入库操作人，操作入库的工作人员姓名 */
    @Excel(name = "入库操作人，操作入库的工作人员姓名")
    private String warehouseInOperator;

    /** 预检操作人，负责预检操作的工作人员姓名 */
    @Excel(name = "预检操作人，负责预检操作的工作人员姓名")
    private String preInspectionOperator;

    /** 质检操作人，负责质检操作的工作人员姓名 */
    @Excel(name = "质检操作人，负责质检操作的工作人员姓名")
    private String qualityInspectionOperator;

    /** 出库操作人，负责出库操作的工作人员姓名 */
    @Excel(name = "出库操作人，负责出库操作的工作人员姓名")
    private String warehouseOutOperator;

    public void setFactoryOrderId(String factoryOrderId) 
    {
        this.factoryOrderId = factoryOrderId;
    }

    public String getFactoryOrderId() 
    {
        return factoryOrderId;
    }
    public void setFactoryOrderCreateTime(Date factoryOrderCreateTime) 
    {
        this.factoryOrderCreateTime = factoryOrderCreateTime;
    }

    public Date getFactoryOrderCreateTime() 
    {
        return factoryOrderCreateTime;
    }
    public void setOrderId(String orderId) 
    {
        this.orderId = orderId;
    }

    public String getOrderId() 
    {
        return orderId;
    }
    public void setUserPhone(String userPhone) 
    {
        this.userPhone = userPhone;
    }

    public String getUserPhone() 
    {
        return userPhone;
    }
    public void setOrderSource(String orderSource) 
    {
        this.orderSource = orderSource;
    }

    public String getOrderSource() 
    {
        return orderSource;
    }
    public void setServiceFactory(String serviceFactory) 
    {
        this.serviceFactory = serviceFactory;
    }

    public String getServiceFactory() 
    {
        return serviceFactory;
    }
    public void setContractMode(String contractMode) 
    {
        this.contractMode = contractMode;
    }

    public String getContractMode() 
    {
        return contractMode;
    }
    public void setPreInspectionPhoto(String preInspectionPhoto) 
    {
        this.preInspectionPhoto = preInspectionPhoto;
    }

    public String getPreInspectionPhoto() 
    {
        return preInspectionPhoto;
    }
    public void setQualityInspectionPhoto(String qualityInspectionPhoto) 
    {
        this.qualityInspectionPhoto = qualityInspectionPhoto;
    }

    public String getQualityInspectionPhoto() 
    {
        return qualityInspectionPhoto;
    }
    public void setLaundryTagCode(String laundryTagCode) 
    {
        this.laundryTagCode = laundryTagCode;
    }

    public String getLaundryTagCode() 
    {
        return laundryTagCode;
    }
    public void setPickupExpressNumber(String pickupExpressNumber) 
    {
        this.pickupExpressNumber = pickupExpressNumber;
    }

    public String getPickupExpressNumber() 
    {
        return pickupExpressNumber;
    }
    public void setDeliveryExpressNumber(String deliveryExpressNumber) 
    {
        this.deliveryExpressNumber = deliveryExpressNumber;
    }

    public String getDeliveryExpressNumber() 
    {
        return deliveryExpressNumber;
    }
    public void setAppointmentSuccessDate(Date appointmentSuccessDate) 
    {
        this.appointmentSuccessDate = appointmentSuccessDate;
    }

    public Date getAppointmentSuccessDate() 
    {
        return appointmentSuccessDate;
    }
    public void setPickupSignDate(Date pickupSignDate) 
    {
        this.pickupSignDate = pickupSignDate;
    }

    public Date getPickupSignDate() 
    {
        return pickupSignDate;
    }
    public void setDeliverySignDate(Date deliverySignDate) 
    {
        this.deliverySignDate = deliverySignDate;
    }

    public Date getDeliverySignDate() 
    {
        return deliverySignDate;
    }
    public void setWarehouseInSuccessDate(Date warehouseInSuccessDate) 
    {
        this.warehouseInSuccessDate = warehouseInSuccessDate;
    }

    public Date getWarehouseInSuccessDate() 
    {
        return warehouseInSuccessDate;
    }
    public void setLaundryTagGenerateDate(Date laundryTagGenerateDate) 
    {
        this.laundryTagGenerateDate = laundryTagGenerateDate;
    }

    public Date getLaundryTagGenerateDate() 
    {
        return laundryTagGenerateDate;
    }
    public void setPreInspectionSuccessDate(Date preInspectionSuccessDate) 
    {
        this.preInspectionSuccessDate = preInspectionSuccessDate;
    }

    public Date getPreInspectionSuccessDate() 
    {
        return preInspectionSuccessDate;
    }
    public void setQualityInspectionSuccessDate(Date qualityInspectionSuccessDate) 
    {
        this.qualityInspectionSuccessDate = qualityInspectionSuccessDate;
    }

    public Date getQualityInspectionSuccessDate() 
    {
        return qualityInspectionSuccessDate;
    }
    public void setWarehouseOutSuccessDate(Date warehouseOutSuccessDate) 
    {
        this.warehouseOutSuccessDate = warehouseOutSuccessDate;
    }

    public Date getWarehouseOutSuccessDate() 
    {
        return warehouseOutSuccessDate;
    }
    public void setShoeCount(Integer shoeCount) 
    {
        this.shoeCount = shoeCount;
    }

    public Integer getShoeCount() 
    {
        return shoeCount;
    }
    public void setLaundryCount(Integer laundryCount) 
    {
        this.laundryCount = laundryCount;
    }

    public Integer getLaundryCount() 
    {
        return laundryCount;
    }
    public void setWarehouseInOperator(String warehouseInOperator) 
    {
        this.warehouseInOperator = warehouseInOperator;
    }

    public String getWarehouseInOperator() 
    {
        return warehouseInOperator;
    }
    public void setPreInspectionOperator(String preInspectionOperator) 
    {
        this.preInspectionOperator = preInspectionOperator;
    }

    public String getPreInspectionOperator() 
    {
        return preInspectionOperator;
    }
    public void setQualityInspectionOperator(String qualityInspectionOperator) 
    {
        this.qualityInspectionOperator = qualityInspectionOperator;
    }

    public String getQualityInspectionOperator() 
    {
        return qualityInspectionOperator;
    }
    public void setWarehouseOutOperator(String warehouseOutOperator) 
    {
        this.warehouseOutOperator = warehouseOutOperator;
    }

    public String getWarehouseOutOperator() 
    {
        return warehouseOutOperator;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("factoryOrderId", getFactoryOrderId())
            .append("factoryOrderCreateTime", getFactoryOrderCreateTime())
            .append("orderId", getOrderId())
            .append("userPhone", getUserPhone())
            .append("orderSource", getOrderSource())
            .append("serviceFactory", getServiceFactory())
            .append("contractMode", getContractMode())
            .append("preInspectionPhoto", getPreInspectionPhoto())
            .append("qualityInspectionPhoto", getQualityInspectionPhoto())
            .append("laundryTagCode", getLaundryTagCode())
            .append("pickupExpressNumber", getPickupExpressNumber())
            .append("deliveryExpressNumber", getDeliveryExpressNumber())
            .append("appointmentSuccessDate", getAppointmentSuccessDate())
            .append("pickupSignDate", getPickupSignDate())
            .append("deliverySignDate", getDeliverySignDate())
            .append("warehouseInSuccessDate", getWarehouseInSuccessDate())
            .append("laundryTagGenerateDate", getLaundryTagGenerateDate())
            .append("preInspectionSuccessDate", getPreInspectionSuccessDate())
            .append("qualityInspectionSuccessDate", getQualityInspectionSuccessDate())
            .append("warehouseOutSuccessDate", getWarehouseOutSuccessDate())
            .append("shoeCount", getShoeCount())
            .append("laundryCount", getLaundryCount())
            .append("warehouseInOperator", getWarehouseInOperator())
            .append("preInspectionOperator", getPreInspectionOperator())
            .append("qualityInspectionOperator", getQualityInspectionOperator())
            .append("warehouseOutOperator", getWarehouseOutOperator())
            .toString();
    }
}
